package com.zyz.study.filter;// 包声明：定义该类所属的包，必须与文件路径（src/main/java 下的目录结构）一致
import jakarta.servlet.Filter;// 导入 jakarta.servlet.Filter 接口，用于实现过滤器
import jakarta.servlet.FilterChain;// 导入 jakarta.servlet.FilterChain，用于在过滤器链中传递请求和响应
import jakarta.servlet.ServletException;// 导入 jakarta.servlet.ServletException，用于声明方法可能抛出的异常
import jakarta.servlet.ServletRequest;// 导入 jakarta.servlet.ServletRequest，表示通用的请求对象（可能是 HttpServletRequest）
import jakarta.servlet.ServletResponse;// 导入 jakarta.servlet.ServletResponse，表示通用的响应对象（可能是 HttpServletResponse）
import jakarta.servlet.http.HttpServletResponse;// 导入 jakarta.servlet.http.HttpServletResponse，用于访问和设置 HTTP 响应头
import java.io.IOException;// 导入 IO 异常类，用于声明方法可能抛出的异常

public class Utf8CharacterEncodingFilter implements Filter {
    // 重写 doFilter 方法：当请求进入时会被调用，在这里可以设置请求/响应的字符编码等操作
    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        chain.doFilter(request, response);
    }

}
